// 入口函数
$(function () {
    // 需求1: 自定义校验规则
    let form = layui.form;
    form.verify({
        nickname: [
            /^[\S]{1,10}$/,
            "用户昵称必须是1~10位的非空白字符！"
        ]
    });

    // 需求2: 初始化用户信息 - 后面还要用，所以封装成函数！
    let layer = layui.layer;
    initUserInfo();
    function initUserInfo() {
        // 发送ajax
        axios({
            method: 'GET',
            url: '/my/userinfo',
            // 身份认证 common.js 帮我们做了，不需要在设置token了
        }).then(res => {
            // console.log(res.data);
            if (res.data.status !== 0) {
                return layer.msg(res.data.message);
            }
            // 利用 layui 中的方法给form表单赋值
            form.val('formUserInfo', res.data.data);
        })
    }

    // 需求3: 重置表单;
    // 给按钮设置点击事件，或者给form绑定reset事件;
    // $("form").on('submit', function (e) {
    $("#btnReset").on('click', function (e) {
        // 阻止默认行为
        e.preventDefault();
        // 重新初始化
        initUserInfo();
    });

    // 需求4: 提交表单;
    // 给按钮设置点击事件，或者给form绑定submit事件;
    $("form").on('submit', function (e) {
        // 阻止表单默认提交，改为ajax提交
        e.preventDefault();
        // 发送ajax
        axios({
            method: 'POST',
            url: '/my/userinfo',
            data: $(this).serialize()
        }).then(res => {
            // console.log(res.data);
            if (res.data.status !== 0) {
                return layer.msg(res.data.message);
            }
            // 成功提示
            layer.msg("恭喜您，修改用户信息成功！");
            // 重新渲染头像和欢迎用户名
            window.parent.getUserInfo();
        })
    })
 

});
